First-Order-CTL Model Checking
نویسندگان
چکیده
This work presents a first-order model checking procedure that verifies systems with potentially infinite data spaces with respect to first-order CTL specification. The procedure relies on a partition of the system variables into control and data. While control values are expanded into BDD-representations, data values enter in form of their properties relevant to the verification task. The algorithm is completely automatic. If the algorithm terminates, it has generated a first-order verification condition on the data space which characterizes the system’s correctness. Termination can be guaranteed for a class that properly includes the data independent systems, defined in [6]. The procedure works like a symbolic model checker on the control part. The data part is handled by annotating each control-expanded state of the system by a first-order formula. These formulas characterize, for each state, the set of data valuations that altogether make the specification true for the system. A novel part of our work is that the first-order annotations are represented as BDDs and are manipulated symbolically. Since the formulas are represented by BDDs, we get ”for free” propositional simplifications. Moreover, the canonical representation provided by BDDs makes it easier to detect termination of our model checking procedure. Finally, the encoding of predicates as boolean variables enables sharing of subformulas among the formulas produced by the model checking procedure. This work improves [2], where we extended explicit model checking algorithms. In contrast, this paper shows how to cast first-order model checking into BDD-based representations. Thus, for complex control aspects of the design the full power of symbolic model checking is provided, while at the same time temporal reasoning is supported by the generation of a verification condition in cases where the data complexity is too high for ordinary procedures.
منابع مشابه
Reducing CTL-live Model Checking to Semantic Entailment in First-Order Logic (Version 1)
The core of temporal logic model checking is the reachability problem, which is not expressible in first-order logic (FOL). Most model checking algorithms, both for finite and infinite Kripke structures, contain a loop that iterates to reach a fixed-point. As a result, reasoners with input languages no more expressive than FOL have been used iteratively for model checking rather than having the...
متن کاملTemporal Logic Model Checking as Automated Theorem Proving
Model checking is an automatic technique for the verification of temporal properties of a system. In this technique, a system is represented as a labelled graph and the specification as a temporal logic formula. The core of temporal logic model checking is the reachability problem, which is not expressible in first-order logic (FOL); as a result, model checking of finite/infinite state systems ...
متن کاملComputation Tree Logic Model Checking Based on Possibility Measures
In order to deal with the systematic verification with uncertain infromation in possibility theory, Li and Li [19] introduced model checking of linear-time properties in which the uncertainty is modeled by possibility measures. Xue, Lei and Li [26] defined computation tree logic (CTL) based on possibility measures, which is called possibilistic CTL (PoCTL). This paper is a continuation of the a...
متن کاملQuantified Computation Tree Logic
Computation Tree Logic (CTL) is one of the most syntactically elegant and computationally attractive temporal logics for branching time model checking. In this paper, we observe that while CTL can be verified in time polynomial in the size of the state space times the length of the formula, there is a large set of reachability properties which cannot be expressed in CTL, but can still be verifi...
متن کاملQuantified CTL: expressiveness and model checking
While it was defined long ago, the extension of CTL with quantification over atomic propositions has never been studied extensively. Considering two different semantics (depending whether propositional quantification refers to the Kripke structure or to its unwinding tree), we study its expressiveness (showing in particular that QCTL coincides with Monadic Second-Order Logic for both semantics)...
متن کاملRelating linear and branching model checking
The diierence in the complexity of branching and linear model checking has been viewed as an argument in favor of the branching paradigm. In particular, the computational advantage of CTL model checking over LTL model checking makes CTL a popular choice, leading to eecient model-checking tools for this logic. Can we use these tools in order to verify linear properties? In this paper we relate b...
متن کامل